import request from '@/utils/request.js';

/**
 * 获取动态列表（分页）
 * @param {Object} params - 查询参数
 * @returns {Promise} 返回动态列表
 */
export function getPostPage(params) {
  return request.get('/feed/post/page', params);
}

/**
 * 获取单个动态详情
 * @param {Number} id - 动态ID
 * @returns {Promise} 返回动态详情
 */
export function getPostDetail(id) {
  return request.get('/feed/post/get', { id });
}

/**
 * 创建动态
 * @param {Object} data - 动态数据
 * @returns {Promise} 返回创建结果
 */
export function createPost(data) {
  return request.post('/feed/post/create', data);
}

/**
 * 更新动态
 * @param {Object} data - 动态数据
 * @returns {Promise} 返回更新结果
 */
export function updatePost(data) {
  return request.put('/feed/post/update', data);
}

/**
 * 删除动态
 * @param {Number} id - 动态ID
 * @returns {Promise} 返回删除结果
 */
export function deletePost(id) {
  return request.delete(`/feed/post/delete?id=${id}`, {});
}

/**
 * 点赞
 * @param {Number} type - 点赞类型，1：动态 2：评论
 * @param {Number} targetId - 目标ID
 * @returns {Promise} 返回操作结果
 */
export function like(type, targetId) {
  return request.post(`/feed/like/create?type=${type}&targetId=${targetId}`);
}

/**
 * 取消点赞
 * @param {Number} type - 点赞类型，1：动态 2：评论
 * @param {Number} targetId - 目标ID
 * @returns {Promise} 返回操作结果
 */
export function unlike(type, targetId) {
  return request.delete(`/feed/like/delete?type=${type}&targetId=${targetId}`);
}

/**
 * 获取热门话题列表
 * @param {Object} params - 查询参数，可包含分页和搜索条件
 * @returns {Promise} 返回话题列表
 */
export function getTopicList(params) {
  return request.get('/feed/topic/list', params);
}

/**
 * 获取话题类别列表
 * @returns {Promise} 返回话题类别列表
 */
export function getTopicCategoryList() {
  return request.get('/feed/topic-category/list');
}

/**
 * 根据类别获取话题
 * @param {Number} categoryId - 类别ID
 * @returns {Promise} 返回指定类别的话题列表
 */
export function getTopicsByCategoryId(categoryId) {
  return request.get('/feed/topic/by-category', { categoryId });
}

/**
 * 搜索话题
 * @param {String} keyword - 搜索关键词
 * @returns {Promise} 返回搜索结果
 */
export function searchTopics(keyword) {
  return request.get('/feed/topic/search', { keyword });
} 